1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to mechanisms for detecting and coping with size mismatch hazards within data processing systems.
2. Description of the Prior Art
It is known to produce data processing systems which operate with different operand sizes. Some program instructions may specify that the operands are single word operands and other program instructions may specify that the operands are double word operands. Within pipelined data processing systems it is also known to utilise operand forwarding mechanisms to help address the problem that a given instruction may consume an operand which is produced by an earlier instruction that has not yet produced the operand. Such forwarding mechanisms may use tags identifying consumer operand registers and producer operand registers in respect of different instructions. This approach is relatively straight forward when a single word producer forwards to a single word consumer or a double word producer forwards to a double word consumer. However, the problem is more complex when there is a mismatch in the operand sizes between the producer and the consumer, e.g. a plurality of single word producers and a double word consumer.
One way of dealing with this problem would be to provide tagging of the operands for use in the forwarding mechanisms at the smallest granularity of the operand size. A consequence of this would be that an operand having a size greater than the granularity of the smallest operand could require multiple tags. These tags require routing and switching between stages of the processing pipeline. Accordingly, the use of such fine-grained tagging to deal with the issue of operand forwarding when supporting operands of different sizes is inefficient in terms of circuit area, cost, efficiency etc.